博客
关于我
pageHelper分页技术
阅读量:794 次
发布时间:2023-02-26

本文共 2494 字,大约阅读时间需要 8 分钟。

十二,PageHelper分页技术

分页简介

PageHelper 是 MyBatis 中非常方便的第三方分页插件。它能够帮助开发者快速实现分页功能,简化代码编写,同时提供丰富的分页信息,适用于多种分页场景。

分页技术相关名词解释

PageHelper 提供了众多有用的参数和属性来帮助开发者实现分页功能。以下是常见的分页相关参数:

  • pageNum:表示当前页码。
  • pageSize:表示每页的记录数。
  • size:可替代 startRowendRow,用于指定分页的范围。
  • startRowendRow:表示数据库中查询的起始和结束行号。
  • total:表示总记录数。
  • pages:表示总页数。
  • list:查询结果集合。
  • prePagenextPage:表示前一页和下一页的页码。
  • isFirstPageisLastPage:表示是否为第一页或最后一页。
  • hasPreviousPagehasNextPage:表示是否存在前一页或下一页。
  • navigatePages:表示导航页码数。
  • navigatepageNums:表示导航条上的页码数组。
  • navigateFirstPagenavigateLastPage:表示导航条的第一页和最后一页。

使用步骤

  • 导入依赖:在项目的 pom.xml 文件中添加 PageHelper 的依赖。
  • 配置分页插件:根据使用的框架(MyBatis 或 Spring MVC)配置 PageHelper。
    • MyBatis:在全局配置文件中添加 PageHelper 插件。
    • Spring MVC:在 Spring 的配置文件中配置 PageHelper。
  • 使用 PageHelper 进行分页:在查询之前调用 PageHelper.startPage 方法,传入页码和每页大小。
  • 使用 PageInfo 封装结果:PageInfo 类能提供更详细的分页信息,方便前端展示。
  • 具体使用

    实际案例:订单分页查询

    1. 在父项目 pom.xml 中添加依赖

    com.github.pagehelper
    pagehelper
    5.1.2

    2. 配置分页插件

    • MyBatis 全局配置文件
    • Spring MVC 配置文件
    params=value1
    • 控制层代码示例
    @RequestMapping("/emps")@ResponseBodypublic Msg getEmpsWithJson(@RequestParam(value = "pn", defaultValue = "1") Integer pn) {    PageHelper.startPage(pn, 5);    List
    emps = employeeService.getAll(); PageInfo page = new PageInfo(emps, 5); return Msg.success().add("pageInfo", page);}@RequestMapping("/emps")public String getEmps(@RequestParam(value = "pn", defaultValue = "1") Integer pn, Model model) { PageHelper.startPage(pn, 5); List
    emps = employeeService.getAll(); PageInfo page = new PageInfo(emps, 5); model.addAttribute("pageInfo", page); return "list";}

    页面展示示例

    当前 【${pageInfo.pageNum }】 页,总 【${pageInfo.pages }】 页,总 【${pageInfo.total }】 条记录

    MyBatis 后续学习

    • MyBatis 概述
    • MyBatis 配置文件详解
    • MyBatis 事务管理
    • MyBatis 动态 SQL
    • MyBatis 多表查询
    • MyBatis 延迟加载
    • MyBatis 缓存机制
    • MyBatis 注解开发版
    • MyBatis 逆向工程使用

    转载地址:http://djvfk.baihongyu.com/

    你可能感兴趣的文章
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenLDAP编译安装及配置
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>
    OpenMCU(三):STM32F103 FreeRTOS移植
    查看>>
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>
    OpenMetadata 命令执行漏洞复现(CVE-2024-28255)
    查看>>
    OpenMMLab | S4模型详解:应对长序列建模的有效方法
    查看>>
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenMV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
    查看>>
    OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
    查看>>
    OpenPPL PPQ量化(5):执行引擎 源码剖析
    查看>>
    openpyxl 模块的使用
    查看>>
    Openresty框架入门详解
    查看>>